/* Определим две функции: memory_sram и memory_flash */
/* Функция memory_sram в качестве формального параметра
   использует указатель a на объект типа char, расположенный в SRAM */

void memory_sram (char *a)
{
[группа операторов 1]
}

/* Функция memory_flash в качестве формального параметра
   использует указатель a на объект типа char, расположенный во FLASH.
   На это указывает ключевое слово flash */

void memory_flash (char flash *a)
{
[группа операторов 2]
}
...

/* Здесь основная функция программы main */

void main(void)
{
/* Здесь будет ошибка! Поскольку функция адресует строку, как
   расположенную в SRAM, но строка "Example", помещенная в
   кавычках, рассматривается компилятором как константа
   и автоматически будет расположена во FLASH */

memory_sram ("Example");

/* А здесь ошибки не будет! Поскольку функция адресует строку,
как расположенную во FLASH */

memory_flash ("Example");
}
